約 4,373,666 件
https://w.atwiki.jp/conn/pages/18.html
Androidプロジェクト Androidプロジェクトの中身を簡単にまとめます。 ネタ元はAndroid SDKのドキュメントと、EclipseのAndroid SDK Pluginで自動生成された雛形の動作検証です。 プロジェクトのディレクトリ構成 Androidアプリを作るなら、ごく当たり前の知識として知っておく必要があります。 プロジェクトルート src ソースコード用ディレクトリ gen ADTが自動生成したファイル用ディレクトリ。R.javaやAIDLファイルから生成されたファイルが該当。 assets 生のデータファイルを保存する。ビルド時にapkファイルへ組み入れられ、ファイルシステムと変わりない方法でアクセスできる。 bin ビルドされたファイル用ディレクトリres ビルドされたリソースファイル用ディレクトリ libs ライブラリファイル用ディレクトリ res リソースファイル用ディレクトリdrawable-**** 画像ファイルや、レイヤー定義などを記載した描画用定義XMLファイルを保存する。画面解像度ごとにディレクトリが分かれているモヨウ。 layout レイアウト定義XMLファイル用ディレクトリ menu メニュー定義XMLファイル用ディレクトリ values 文字列や設定情報等用のディレクトリ。resディレクトリ内の他のXMLファイルはファイル名ベースでアクセスするのに対し、XML要素を解析し、それぞれの要素名をR.javaファイルに展開しアクセスする点に違いがある。 raw 生のデータファイルを保存する。assetsディレクトリとの違いはアクセス方法で、こちらはR.javaファイルを通じてリソースファイルとしてアクセスする。 AndroidManufest.xml アプリの基本情報を定義する。アプリバージョン、製作者、対応・必要APIバージョン、必要な外部ライブラリなどなど、様々な情報を定義する。奥が深い。 リソースファイル用ディレクトリと、マニフェストファイルは、特に勉強が必要。 詳細が知りたければSDK Managerでドキュメントをインストールし読んでみると良い、全部英語だけども。 雛形プロジェクトの動作 ADTでプロジェクトを作成すると、HelloWorldが表示される簡単なアプリが出来上がった状態になっている。 その動作の細かな点をつついて、それぞれのディレクトリに格納されたファイルが どのように連携するかを調べてみた。 AndroidManifest.xmlを解析しアプリを起動、アクティビティの定義を読み込む。 XMLファイル中では「@」を用いることでリソースにアクセスすることができ、アプリケーション名やスタイル定義の指定に使用されている。 application android icon="@drawable/ic_launcher" <<<res/drawable-****/ic_launcher.pngファイルを参照 android label="@string/app_name" <<<res/valus/strings.xml内の文字列を参照 android theme="@style/AppTheme" <<<res/valus/style.xml内の定義を参照 activity android name=".MainActivity" <<<ここで起動するアクティビティを指定 android label="@string/title_activity_main" <<<res/valus/strings.xml内の文字列を参照 intent-filter action android name="android.intent.action.MAIN" / category android name="android.intent.category.LAUNCHER" / /intent-filter /activity /application binディレクトリ内のデフォルトアクティビティを起動する。 public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); <<<レイアウト定義ファイルを指定 } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); <<<メニュー定義ファイルを指定 return true; } } レイアウト定義ファイル res/layout/activity_main.xml メニュー定義ファイル res/menu/activity_main.xml Activityの動作に従い読み込まれる。 それぞれの定義ファイルにはリソースへのアクセスが指定されている。 TextView android layout_width="wrap_content" android layout_height="wrap_content" android layout_centerHorizontal="true" android layout_centerVertical="true" android text="@string/hello_world" tools context=".MainActivity" / menu xmlns android="http //schemas.android.com/apk/res/android" item android id="@+id/menu_settings" android title="@string/menu_settings" android orderInCategory="100" android showAsAction="never" / /menu 以上が簡単な動作解説です。 マニフェストファイルが起点となり、アクティビティが実際の動作を担っており、 動作時に様々な箇所でリソース内の定義ファイルが読み込まれているのが分かる。 Webアプリケーションなどに比べると非常に単純な構成となっているが、アプリが大きくなるとファイルが増え、管理が難しくなりがち。だがディレクトリ構成の原則に従いアプリを作成することで、誰にでも分かりやすい、無論のこと自分自身にも分かりやすい管理しやすい構成にできる。
https://w.atwiki.jp/devandroidknowledge/pages/14.html
≪Android Tips≫ ◆なんと、Androidには温度センサーが付いているみたい! 【温度センサーから温度を取得するには(概要)】 Sensorインスタンスの生成 Sensorインスタンスに温度センサーを指定する SensorManagerインスタンスにリスナ―指定する。( 温度変化があったごとに記録するには、左記にプラスして下記が必要。) Andoridのセンサーには加速度センサーとか磁気センサーなどがある リスナーに設定すると、センサーの値が変更されたタイミングでonSensorhangedというメソッドが呼び出され、センサーの値を取得することが出来る。 SensorManagerインスタンス センサーを管理するためのSensor系のインスタンス。センサーを管理するためのメソッドも用意されている。 【温度センサーから温度を取得するには(詳細)】 getSystemServiceメソッドでSensorManagerインスタンスを取得 SensorManager.getDefaultSensorメソッドにSensor.TYPE_TEMPERATURE(温度センサー)を指定する。 SensorManager.registerListenerメソッドに②で生成したSensorインスタンスを指定。 by nakamura ◆GoogleMap活用法系 GoogleMap使用準備 GooglMapAPIのKeyを取得する。 AndroidManifestにインターネット接続のパーミッションとGooglMaoAPIを利用する記述を行う。 GoogleMap使用準備 さぁ、準備が出来たら画面に表示だ! 画面に表示させるにはあ以下のことを行う必要がある。 MapActibityクラスの継承 そのクラスの中でonCreateするときにsetContentView(R.layout.main)で地図をセットする。 ※main.xmlにMapViewを配置しておく。 ※MapView・・・Googleから取得したAPIキーの記述や、地図に関する表示をクリックの可否の記述を行う isRouteDisplayedメソッドをオーバーライドしてfalseを返すようにする ※isRouteDisplayedメソッド・・・?? ※MapViewインスタンスからマップ表示させることも可能 MapView mapView = new MapView(this,getResources().getString(取得したキー)); mapView.setEnabled(true); mapView.setClickable(true); setContentView(mapView); by nakamura ◆画面系いろいろ入門編 1画面につき1つActivityクラスが対応する。 バックグラウンドの処理はServiceクラスに実装する。 AvtivityからService,ServiceからServiceを呼び出す際はIntentを使う。 アプリ起動時の画面はAndroidManifest.xmlのintent-filterに設定する。 参考にしたページ Androidアプリ作成のための基礎知識 Androidプログラミング入門 Android入門
https://w.atwiki.jp/sumaho_browser/pages/30.html
最後の更新から1年以上経ったブラウザはこのページで解説 書き方はこれからその他のブラウザと揃える もし開発が再開されたらその他のブラウザに移動する + タップして目次を開く iOS・Android対応ブラウザ iOS用ブラウザ Android用ブラウザBromite Stampy Browser Yuzu Browser さくらブラウザ 投票・コメント・お問い合わせ iOS・Android対応ブラウザ 編集者大募集! iOS用ブラウザ 編集者大募集! Android用ブラウザ Bromite 公式サイト https //www.bromite.org/ ダウンロード https //github.com/bromite/bromite/releases 公式サイト下部にもダウンロードリンクあり コメント ChromiumからGoogle関連の機能を削除してプライバシー保護を強化したブラウザ 開発の中心人物csagan5氏がGitHubでの活動を休止した事で開発が滞っている BromiteユーザーはフォークのCromiteに切り替えるのがおすすめ 当wikiのBromite解説ページはこちら Stampy Browser 公式サイト https //stampy.app/ ダウンロード https //play.google.com/store/apps/details?id=app.stampy.browser コメント プライバシー重視タイプらしい Gboardがシークレットモードになる 元はFirefox Focusみたいな感じだった? 広告ブロック・JSブロック・画像ブロック搭載 キーワード検索は一切不可 URL直打ちかアドレスバーにgoogle.comと入力してそこから検索は可能 + 以前の情報 公式ページ https //stampy.app/ (公式サイトはChromeでもFirefoxでも警告が出てアクセス出来ません) 提供元/所在地 Stampy Browser/アイルランド サイズ iOS/MB Android/デバイスによって異なる ダウンロード iOS/リンク Android/Playストア トラッカー4個 Adjust Google CrashLytics Google Firebase Analytics Mozilla Telemetry 解説 プライバシー重視タイプらしい Gboardがシークレットモードになる元はFirefox Focusみたいな感じだった? 広告ブロック・JSブロック・画像ブロック搭載 検索すると画面が真っ白になる。URLは「https //search.stampy.app/q.php?q=%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%B3」↑これは「ラーメン」で検索した時 もしかして検索履歴サーバーに送ってるのか? 最後の更新が2019年5月9日 3年以上放置 念の為ベータ版テスターになってみたが変化無し Yuzu Browser 公式サイト https //github.com/hazuki0x0/YuzuBrowser ダウンロード https //play.google.com/store/apps/details?id=jp.hazuki.yuzubrowser(Playストアから削除) https //github.com/hazuki0x0/YuzuBrowser/releases コメント かつて存在したMikan Browser(現在入手不可)をAndroid5.0以降向けに有志がフォークしたブラウザ 928 名無しさん@お腹いっぱい。 sage 2017/03/12(日) 01 28 29.55 ID N5x5NeGNmikanを5.0以降向けにforkしてみたバグはわりと残ってそうだけどorzhttps //github.com/Hazuki0x0/YuzuBrowser/releases 出典:Android Web Browser 41 かつて存在したwikiのアーカイブ(2021年6月22日時点) https //web.archive.org/web/20210622052953/http //seesaawiki.jp/yuzubrowser/ 一部のページが閲覧可能 さくらブラウザ 2024/04/02追記:Playストアから削除された 公式サイト http //www.sakura-browser.jp/%20 ダウンロード https //play.google.com/store/apps/details?id=jp.myumyu.piggybrowser(Playストアから削除) コメント 広告ブロック・データ圧縮・下ツールバーなど様々な機能を搭載 現在は公式サイトにアクセス出来ず、表示崩れなどの不具合もあるので乗り換えを検討すべし + 以前の情報 公式ページ http //www.sakura-browser.jp/%20 (閉鎖?) 提供元/所在地 piggy factory/日本 サイズ iOS/MB Android/611k ダウンロード iOS/リンク Android/Playストア トラッカー1個 Google AdMob 解説 広告ブロック・データ圧縮・下ツールバーなど様々な機能を搭載 現在は公式サイトにアクセス出来ず、表示崩れなどの不具合もあるので乗り換えを検討すべし 投票・コメント・お問い合わせ 選択肢 投票数 投票 👍 0 👎 0 名前 コメント すべてのコメントを見る 管理人へのお問い合わせはこちら
https://w.atwiki.jp/android/pages/48.html
2008/04/15 Android Developer Challenge締め切り。 2008/03/25 「Android」搭載端末、早くも2008年秋には登場か?--グーグル幹部が発言 2008/03/23 ドコモ携帯、基本ソフトの設計簡素化へ DoCoMoでAndroid採用が決定? 2008/02/18 WCMフォーラムの会員一覧が更新。OHA企業が参加 WILLCOMコアモジュールフォーラムの会員にOHA参加企業のリビングイメージという会社が参入した模様。WILLCOMからAndroid携帯が出る可能性が出てきた。 2008/02/12 Android SDKアップデート 結構変わってます。今までのアプリを新しいSDK(m5-rc14)で動かすには再コンパイル(?)が必要です。 2008/02/11 Mobile World CongressにてAndroidの実機がぞくぞく出展された 【MWC2008】「Android」搭載プロトタイプ、半導体メーカーがこぞって出展 Android実機を披露した主な企業米フリースケール・セミコンダクタ NECエレクトロニクス 米クアルコム ルネサス テクノロジ 米テキサス・インスツルメンツ 2008/02/04 ハドソン、ゲームソフトをグーグル携帯に提供 ゲーム開発のハドソンは米グーグルが提供予定の携帯電話ソフトウエア群「アンドロイド」向けに、ゲームソフトなどの娯楽コンテンツ(情報の内容)を開発する。グーグルの携帯電話はNTTドコモなどが導入を検討しているが、国内コンテンツ大手の参入が明らかになったのは初めて。 2008/01/28 Deadline Extension for the Android Developer Challenge コンテストの締め切り延長と詳細日程の発表される (この時点から)数週間以内にUIとAPIが強化されたSDKをリリースするとのこと。 2008/04/14 Deadline to submit applications for judging 応募締め切り 2008/05/05 Announcement of the 50 first round winners, who will be eligible for the final round 1回戦の上位50人を発表 2008/06/30 Deadline for the 50 winners of the first round to submit for the final round 最終戦の締め切り 2008/07/21 Announcement of the grand prize winner and runner-up 優勝者および優秀者の発表 2008/01/24 ドコモとグーグル、iモード端末でグーグルのサービス利用可能に 「Androidプラットフォームに関しても両社で協力し、ドコモでの商用化を含む検討が進められる」と発表 2008/01/14 Google Android対応の初アプリケーション登場 初ってことはないと思うけど、OHA参加以外の企業で実機で自社アプリを動かしたのは初? 2007/12/28 ビルド済みバイナリでもAndroid Zaurusが可能に 2007/12/25 ドコモ、グーグルと提携・ネット検索メールなど、新サービス開発 この時点ではAndroidとの係わりは不明。 2007/12/15 Android SDKアップデート(英語) 2007/12/6 WILLCOMコアモジュールフォーラム、AndroidでW-SIMの通話デモ Androidをザウルスに載せた(英語) 2007/11/27 WILLCOMコアモジュールフォーラム、Androidの動作を確認 2007/11/17 Androidでスーパーマリオ(ファミコン/NES)が動いた。 2007/11/12 GoogleのAndroidプラットフォーム SDK公開 Google、Android向けアプリ開発コンテストを主催、賞金1000万ドル コンテストまとめ 2007/11/5 Googleほか34社、オープン携帯プラットフォーム「Android」を発表
https://w.atwiki.jp/sevenlives/pages/1564.html
Linux Kernel? Hardware Abstraction Layer Androidランタイム? Java API フレームワーク? OHA? AIDL? Dalvik VM Androidランタイム? ART? アンドロイド・マーケット? Intent? Over The Air? ブラウザ(Android) Droid Font? Board Support Package? Trebleプロジェクト? Google Play? Android Studio? Android SDK? ■ アプリケーション・フレームワーク Activity Manager? Window Manager? Content Provider? Package Manager? View System? Resource Manager? Location Manager? Notification Manager? ■ Android UI Action Bar Activity(Android) Fragments(Android) Droid Font? Android 2.X? Android 3.X? Android 4.X Android Cupcake? Android Donut? Android Eclair? Android Froyo? Android Gingerbread? Android Honeycomb? Android Ice Cream Sandwich? Android Jelly Bean? Android KitKat? Android Lollipop? Android Marshmallow? Android Nougat? Android Oreo Google HAXM
https://w.atwiki.jp/android/pages/54.html
Androidオフを開催したいなあと思う今日この頃です。 とりあえず安藤恐竜さんが提案された場所を書いておきます。 豆ナイト"春の陣 電気羊は桜吹雪の夢を見るか" Android関連の無料勉強会が2008年4月下旬に開催される模様。開催後に自動的にオフに突入? 他にもどんどん書き込んでおくんなまし オフについて開催場所とか日時とか、その他何でもコメントどうぞ! 関西でも開催したいけど誰かいないかなあ - kojira 2008-03-19 19 45 37 Google I/OでSan Franciscono - 安藤恐竜? 2008-03-20 17 53 55 なんか変なところで改行押しちゃった、すみません。豆ナイトは日程発表があって、都合がついて、当選したら行きます。 - 安藤恐竜? 2008-03-20 17 56 21 豆ナイト当選したら何とか時間作ってみます - kojira 2008-03-21 18 06 33 Googleデベロッパー交流会申し込みました。晩も交流しましょう! - kojira 2008-04-03 19 21 20 Googleデベロッパー交流会、もう定員になってるみたいですね。間に合ってよかった - kojira 2008-04-07 12 17 15 4/18(金)の日経セミナー逝きます。ついでに夜、オフ会できるなら、お泊りにしちゃおーかなー。 - 安藤恐竜? 2008-04-11 07 00 00 日経の方は行けないかも・・・。無念。。。 - kojira 2008-04-11 09 43 00 豆ナイト応募しましたー - kojira 2008-04-14 15 47 03 ほぼ素人同然ですが、Andoridには興味あるので豆ナイト参加したいです! - irimameo? 2008-04-16 16 57 47 名前
https://w.atwiki.jp/android2chbrowser/pages/30.html
■Tuboroid http //www.narazaki.info/ [Tuboroid] narazaki氏作の多機能2chブラウザ。 かつて人気だったanちゃんなどに変わる2chブラウザとして人気だったが、2009年9月に突如開発中止。 そして2011年1月に突如開発再開(?) 作者曰く、今後は実験的な機能を多数追加していくそうだ。 Tuboroidは2010/09/30を持って開発を終了し、公開を停止しました http //www.narazaki.info/2010/09/tuboroid-8.html 最終バージョン:0.2.2.26.6 2011年1月17日にTuboroid 0.2.2.30.2 (仮)が公開されました。開発再開か… http //www.narazaki.info/2011/01/tuboroid-022302.html 関連スレ 【Android】Tuboroidを語るスレ Part1 http //toki.2ch.net/test/read.cgi/chakumelo/1285827352/l50 【開発】「不当な高評価に耐えられない」Android向け2ちゃんブラウザ「Tuboroid」開発中止(10/09/13) http //hibari.2ch.net/test/read.cgi/pcnews/1284379730/ 関連記事 「不当な高評価に耐えられない」 Android向け2ちゃんブラウザ「Tuboroid」開発中止 http //www.itmedia.co.jp/news/articles/1009/13/news090.html Android向け2chブラウザアプリ「Tuboroid」が9月一杯で配信中止へ。想定外の高評価が理由 http //www.gapsis.jp/2010/09/android2chtuboroid9.html AAも見やすい2ちゃんねる専用ブラウザ「Tuboroid(日本語版)」 http //mobileascii.jp/elem/000/000/010/10560/ Tuboroid / 2ch Viewer見やすさ重視の2ちゃんねるブラウザ! http //androider.jp/?p=1983 ここを編集 最近のリンク元 申し訳ありませんが、recent_page_ref プラグインは提供を終了し、ご利用いただけません。
https://w.atwiki.jp/api_programming/pages/195.html
下位ページ インテントとインテントフィルタ サービス(Service) ストレージオプション フラグメント(Fragment) プロセスとスレッド(processes and threads) リストビュー(List View) レイアウト(Layout) 入力コントロール(Controls) 設定(Setting) 通知(Notification) Content スピナーコントロールの設定レイアウトの準備 選択肢の設定string.xmlでの設定 プログラム側から値を選択する アクティビティアプリの閉じられ方で、挙動が異なる アクションバーの代わりに、ツールバーを使うアクションバーを消す ツールバーをレイアウトに追加する Activity内で、アクションバーの代わりに使う記述をする スライドメニューを実装するドロワーレイアウトを作成する ドロワービューの中身を準備するListViewで作る 別のXMLファイルで作る ドロワーのオープン・クローズを実装する バックグラウンド処理(サービス) 閉じられても動作するサービスを動かすServiceクラスの作成 Activityから、作成したサービスを動かす 加速度センサの情報を受ける 回転角の情報を受け取る回転角の解釈 画面の回転を抑制するAndroidManifest.xmlで抑制する 動的に(プラグラム内で)で抑制する インテントにオブジェクトの情報を乗っけるparcelable をインプリメントしたクラスをつくるParcelable.Creater フィールドの実装 BundleやIntentに情報を乗せる Activity側で受ける 複数の情報をリストにして表示する バイブレーションを一定時間、作動させるパーミッションの追加 Vibratorオブジェクトを生成する vibrateを実行する 通知バーにバックグラウンド起動中の表示を出す 裏返したときの方向で、記録を分ける メニューのバーを設定するメニューリソースを準備するフォルダの作成 リソースファイルの作成 設定したメニューファイルを、Activityのメニューバーに評させる メニューの選択を受け取る処理を作る チェックボックスを動作させる 設定画面を設定する/設定情報をローカルストレージに残す 記録内容をGoogleスプレッドシートに記録する 記録内容をGoogleカレンダーに記録するブラウザでURLを開く ブラウザを開くURIとして、認証ページを指定する リダイレクトを受け取る 受け取ったリダイレクトをデータに紐解く codeを送って、tokenを受け取る tokenを保存する 終了時間と開始時間から、時間の計算をする リストビューで独自レイアウトを設定する USBデバッグ リリースビルド スピナーコントロールの設定 [部分編集] レイアウトの準備 Spinner android id="@+id/planets_spinner" android layout_width="fill_parent" android layout_height="wrap_content" / 選択肢の設定 string.xmlでの設定 まずは、string.xmlに文字配列を作る string-array name="planets_array" item Mercury /item item Venus /item item Earth /item /string-array この文字配列をアダプタにして、スピナーコントロールにアダプタをするリソースのアダプタ化には、ArrayApapter.createFromResource を使用できる。simple_spinner_item はデフォルト外観を設定している。通常はこれで良し。 setDropDownViewResource(int) は選択時に一覧を表示するのに使う。なくても一応ドロップダウンは出てくるが、ちょっとしょぼい? Spinner spinner = (Spinner) findViewById(R.id.spinner); ArrayAdapter CharSequence adapter = ArrayAdapter.createFromResource(this, R.array.planets_array, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); spinner.setAdapter(adapter); createFromResource - ArrayAdapter | Android Developers setDropDownViewResource - ArrayAdapter | Android Developers プログラム側から値を選択する Spinner.setSelection で位置を指定する。その位置を取得するにはAdapterを使う。 使っているアダプタを取得するobjSpinner.getAdapter でアダプタを取得できる objAdapter.getPosition("...") でセレクタの位置を取得値が見つからなかったら -1 が返る objSpinner.setSelection に先程取得した位置を設定する ArrayAdapter spinnerAdapter = (ArrayAdapter) objSpinner.getAdapter(); int i = spinnerAdapter.getPosition("value"); objSpinner.setSelection(i); getAdapter - AbsSpinner | Android Developers getPosition - ArrayAdapter | Android Developers setSelection - AbsSpinner | Android Developers アクティビティ アプリの閉じられ方で、挙動が異なる onDestroyが呼ばれない限りは、Serviceを使わずとも、 ↓にある通り、ホームボタンとバックボタンでアプリケーションから離れた場合で挙動が違う。 https //kokufu.blogspot.jp/2011/03/activity.html 説明として、 ホームボタン:ホームアプリケーションが起動している バックボタン:Activityスタックからポップしている と書いてあったが、気持ち悪いのは、□ボタンを押すとあたかもまだ生きているかのように、アプリケーションリストに表示されるから。画面上に残っているが実際には onDestroy で消えている。 このあたりが、「アプリケーションをスワイプして消しても消さなくてもメモリにはそれほど影響しない」ということなんだろうか。 アクションバーの代わりに、ツールバーを使う [部分編集] 今後の拡張性から、アクションバーよりツールバーを使ったほうが良い、という記述をちょこちょこ見かけるが、Android Studioでプロジェクトを作ると、基本はアクションバーが設定されている。これをツールバーに置き換える。 アプリバーの追加 | Android Developers Toolbar | Android Developers AndroidのToolBar(新しいActionBar)メモ | Qiita アクションバーを消す res/values/styles.xmlで AppThemeのテーマを変更する style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar" ツールバーをレイアウトに追加する android.support.v7.widget.Toolbar android id="@+id/toolbar" android layout_width="match_parent" android layout_height="wrap_content" / レイアウトの@android */* ,?attr/* ,?* ,?android attr/* の違い | Qiita Activity内で、アクションバーの代わりに使う記述をする /* ToolBarの設定 */ Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar); toolbar.setTitleTextColor(Color.WHITE); // 設定をしておく setSupportActionBar(toolbar); // アクションバーの代わり、という設定 これを書かないと、画面上では何も表示されない(空間だけはある) スライドメニューを実装する [部分編集] NavigationDrawer が正式名称? DrawerLayout | Android Developers ナビゲーションドロワーの作成 | Android Developers ドロワーレイアウトを作成する レイアウトxmlにて、DrawerLayout オブジェクトをレイアウトのルートビューとして指定する。 ルートの中にドロワービューとメインビューを設定する順序はメインビューを先にする高さはルートに合わせる(match_parent) 次にドロワーのビューを指定するlayout_gravityを指定する(layout_gravity:どっちにくっつけるか、どちら方向から出てくるか?)右から左に出す場合にはstart layout_heightは親ビューと同じ高さを指定する layout_widthはすべての情報が見える幅を指定する ドロワービューの中身を準備する ListViewで作る ListViewの中に android layout_gravity="..." を入れないと、スライドで入ってくる設定にならず、重ねて見えている状態になる android background="#111" 背景がないと、中途半端にすけた状態で表示される。 別のXMLファイルで作る NavigationViewで作った場合、ヘッダ部分とメニュー部分をそれぞれレイアウトとメニューで作成する app headerLayout="@layout/drawer_header" app menu="@menu/drawer" ドロワーのオープン・クローズを実装する DrawerLayout にリスナーをセットする。このリスナーは DrawerLayout.DrawerListener を実装して、使う。 Activity にアクションバーがセットされている場合は ActionBarDrawerToggle が DrawerLayout.DrawerListener を実装する。 DrawerLayout mDrawerLayout = ...; ActionBarDrawerToggle mDrawerToggle; mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.drawer_open, R.string.drawer_close) { public void onDrawerClosed(View view) {...} public void onDrawerOpened(View drawerView) {...} }; // Set the drawer toggle as the DrawerListener mDrawerLayout.setDrawerListener(mDrawerToggle); 【Android】スライドして表示されるメニュー | Qiita Navigation Drawer の概要 | Android 開発入門 Navigation Drawer の基本的な実装方法 | Android 開発入門 バックグラウンド処理(サービス) サービス - Android Developers Androidアプリでのバックグラウンド処理と通知機能 | Android Studio 2で始めるアプリ開発入門 - CodeZine 流れ Serviceのサブクラスを作成する AndroidManifest.xmlにサービスを登録 サブクラスで、必要なクラスをオーバーライドする。次のあたり。onCreate() onStartCommand() onDestroy() アクティビティからサービスを起動する (きちっと止まるように設計しておく) 閉じられても動作するサービスを動かす バックグラウンドで動作させるためにはServiceを用いる。 Serviceクラスの作成 Activityのように、作成・開始などのイベントで動くが、おもに3つ。 onCreate onStartCommand onDestroy Service | Android Developers Activityから、作成したサービスを動かす startServiceで起動、stopService(stopSelf)で停止。忘れずにServiceを止めないと、いつまでも動き続ける。 startService、stopServiceなどには、インテントを準備して、サービスにそれをなげる形をとっている。 startService - Context | Android Developers stopService - Context | Android Developers stopSelf - Service | Android Developers 加速度センサの情報を受ける 回転角の情報を受け取る センサーは加速度まではそのまま読み取れるが、回転角は加速度情報、地磁気情報から計算する必要がある。まず getRotationMatrix で回転行列を求め、getOrientation で回転行列を回転角に変換する(計算する) getRotationMatric - SensorManager | Android Developers getOrientation - SensorManager | Android Developers 引数に取った2つの配列には、傾斜行列、回転行列(の情報)が計算されて入ってくる。情報が不要ならnullでよい。 回転角の解釈 正位置として Zは天を指す Yは磁北を指す Xは Y,Z の外積を指す 画面の回転を抑制する AndroidManifest.xmlで抑制する 回転させないActivityに android screenOrientation="portrait" を追加すると、縦向き固定になる activity | Android Developers 動的に(プラグラム内で)で抑制する Activity内で、setRequestedOrientation を呼び出す setRequestedOrientation - Activity | Android Developers screenOrientation - ActivityInfo | Android Developers インテントにオブジェクトの情報を乗っける bundleで多くの情報をわたすような方法として、putParcelableArrayList くらいしか見当たらないので、これを使う。そのためには、Parcelable をimplements したようなクラスを作る必要がある。 Bundle | Android Developers parcelable をインプリメントしたクラスをつくる Parcelable実装にはParcelable.Createorというstatic fieldが必要。そのフィールドの初期化にて、Parcelに保存したデータを復元するためのコンストラクタを呼ぶ。 Parcelable | Android Developers Parcelable.Creater フィールドの実装 Parcelable.Creater | Android Developers createFromParcel(Parcel source)Parcelable.writeToParcel() で書き出されたParcelデータをインスタンス化する → コンストラクタを作っておく newArray(int size)ParcelableクラスのArrayを作る BundleやIntentに情報を乗せる IntentならputParcelableArrayListExtra、BundleならputParcelableArrayList で情報を登録 putParcelableArrayListExtra - Intent | Android Developers getParcelableArrayList - Bundle | Android Developers Activity側で受ける IntentならgetParcelableで受けられる。受けたときにすでにParcelableをimplementしたオブジェクトで受けられる。 getParcelableArrayListExtra - Intent | Android Developers getParcelableArrayList - Bundle | Android Developers 複数の情報をリストにして表示する [https //www54.atwiki.jp/api_programming/pages/202.html] バイブレーションを一定時間、作動させる Vibratorインスタンスからvibrate()を実行する。バイブレーションの実施にはAndroidManifest.xmlにパーミッションの追加が必要。 パーミッションの追加 マニフェストにパーミッションを追加する - パーミッションの宣言 | Android Developers Vibratorオブジェクトを生成する getSystemServiceでVibratorオブジェクトを生成する Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); getSystemService - Context | Android Developers Vibrator | Android Developers vibrateを実行する 幾つかパターンはあるが、かんたんなところで、これ。 vibrator.vibrate(500); vibrate - Vibrator | Android Developers 通知バーにバックグラウンド起動中の表示を出す 裏返したときの方向で、記録を分ける メニューのバーを設定する メニューリソースを準備し、表示させる。そのうえで、メニューのタップ動作に対する反応を記述する メニュー | Android Developers メニューリソースを準備する フォルダの作成 デフォルトではメニュー用のフォルダが無い(かもしれない)ので、res/menuを追加し、ここに入れておく。 resフォルダ右クリック [New]>[Android resource directory]を選択 ダイアログで、「Resource type 」から「menu」を選択し、OK リソースファイルの作成 menuフォルダを右クリック [New]>[Menu resource file] ファイル名を入力し、OK ファイル内に menu item / item / /menu を記述(実際はidやタイトルを設定する必要あり) Menu Resource | Android Developers 設定したメニューファイルを、Activityのメニューバーに評させる onCreateOptionMenuをオーバーライドして、この中でリソースの指定などを行う。XMLのメニューを実際?のメニューオブジェクトに変換するのに、inflatorを使用できる。 @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); //(1) inflater.inflate(R.menu.menu_options_menu_list, menu); //(2) return super.onCreateOptionsMenu(menu); //(3) } onCreateOptionMenu - Activity | Android Developers メニューの選択を受け取る処理を作る オプションメニューを作っていれば、その受取はonOptionsItemSelectedをオーバーライドして処理できる。 @Override public boolean onOptionsItemSelected(MenuItem item) { return super.onOptionsItemSelected(item); } このとき、itemにクリックされた情報が入っているので、これを紐解いて、どのメニューがクリックされたか判断し、switchなどで処理する。 int itemId = item.getItemId(); Android 3.0(APIレベル11)以降では メニューリソースXMLのitemに、android onClick を記述しておくことで、動作を定義させることもできる。 チェックボックスを動作させる Android/入力コントロール(Controls) 設定画面を設定する/設定情報をローカルストレージに残す Android/設定 記録内容をGoogleスプレッドシートに記録する http //qiita.com/konnobu/items/8bec3d5a45235fc88a08 記録内容をGoogleカレンダーに記録する 多分、クライアント用のライブラリが作られていて、簡単に認証処理をしたり、データを取得したりできるようになっていると思われるが、別サイトでも転用が聞くように、地道な方法を取ってみる。というか、専用のライブラリの使い方をよくわかっていない。 流れは OAuth2.0で認証Google API にプロジェクトと登録(キーの発行) 認証コードを発行 受け取り コードを access token と交換 access token も使って、リクエスト送信 こまごまと引っかかった場所が多数。 AndroidManifest.xmlにパーミッションの設定が必要 ブラウザでURLを開く Android/インテントとインテントフィルタ ブラウザを開くURIとして、認証ページを指定する GoogleのOAuth2認証 OAuth2認証 | Android Developers Step 1 Send a request to Google's OAuth 2.0 server | Google Identify Platform リダイレクトを受け取る 大概の(google 以外でも)場合は、認証後に指定したリダイレクト先に飛ばしてくれる。そのスキーム名に応じて、Android側でどのアプリで開くのかを考えてくれる。Android に「このスキームがきたら、俺のアプリで開いて」と指示するためには、AndroidManifest.xml に記述する必要がある。 scheme // host port / path intent-filter内で、action, category, data を指定する。上記のリダイレクト先に対応する内容を書くのは data で、scheme は data android scheme="com.example.testproject" / のようになる。 Intent の 定数として ACTION_VIEW などが定義されているが、実体は文字列で、それが android.intent.action.VIEW などになる(ので、どれを設定するかはIntent を参照)。ブラウザでどんなスキームがきたらヨソになげるのか、どんな action として投げるのか、説明されている場所がわからないが、ひとまず action ACTION_VIEW category CATEGORY_BROWSABLR scheme ここは各自で で開けた。redirect_uri で scheme //~ が指定できない( /だけ)なので、hostは存在せず、pathだけ。 インテント解決 - インテントとインテント フィルタ | Android Developers Intent - Android Developers 受け取ったリダイレクトをデータに紐解く 一旦受け取れれば、中身は getIntent() を経由して、中身を見られる(Intent.getAction(), Intent.getCategories() など)。OAuth では、path のなかに code を入れて返してくるので、Dataのなかを探せばある Intent intent = getIntent(); String data = intent.getDataString(); とすると、googleの認証で指定した redirect_uri のあとに code がくっついて返ってきている。以下、サンプル com.example.####.#### /oauth2callback?code=4/8abcdefg# 上記の場合、oauth2callback を uri.getPath() で、4/8abcdefg# を getQueryParameter("code") で受け取れる。 getIntent - Activity | Android Developers getData - Intent | Android Developers getQueryParameter - Uri | Android Developers codeを送って、tokenを受け取る コードと必要情報を POST することで、access token との交換をする。この処理は、UIスレッドだとエラーになるので、AsyncTaskで実行する必要がある。 また、交換がうまく行かなかったときは、HttpURLConnection の getInputStream ではなく、 getErrorStream に情報が流れるため、プログラムの確認作業では注意。(この辺をよくわかっていなくて、エラー原因を探すのに苦労した。) redirect_uri はスキームもパスもコード発行依頼時と同じものを使う。 Android/プロセスとスレッド(processes and threads) Async Task | Android Developers tokenを保存する プレファレンスへの保存 終了時間と開始時間から、時間の計算をする リストビューで独自レイアウトを設定する https //www54.atwiki.jp/api_programming/editx/202.html USBデバッグ http //www.aiseesoft.jp/tutorials/android-debug-mode.html リリースビルド http //androidstudio.hatenablog.com/entry/2014/07/26/154043
https://w.atwiki.jp/android-reference/pages/21.html
android Contains the resource classes used by standard Android applications. Classes Manifest Manifest.permission Manifest.permission_group R R.anim R.array R.attr R.bool R.color R.dimen R.drawable R.id R.integer R.layout R.plurals R.raw R.string R.style R.styleable R.xml コメント 名前 コメント すべてのコメントを見る
https://w.atwiki.jp/interaction_android/pages/26.html
Androidのセットアップ ここでは、簡単にセットアップについて述べます (1)必要なファイル android-sdk_r17-windows.zip lpls159.exe(解凍ソフトがない場合) RapidEE_setup.exe(環境変数の設定を簡単にしたい方) (2)x64(64bit版) jdk-7u3-windows-x64.exe eclipse-jee-indigo-SR2-win32-x86_64.zip (3)x86(32bit版) jdk-7u3-windows-i586.exe eclipse-java-indigo-SR2-win32.zip 1.解凍ソフトPCに解凍ソフトが入っていない場合は「lpls159.exe」により「Lhaplus」をインストール 2.環境変数変更ソフト環境変数を簡単に変更できるように「RapidEE_setuo.exe」をクリックし、「RapidEE」をインストール 3.Java環境のセットAndroidないしEclipseはJava環境が必要なので「jdk-7u3-windows-i586.exe」によりJavaをインストールする。 項目はすべてはいないしOK 4.Cドライブの直下に「Android」フォルダを作成C \Androidとなるように 5.解凍「android-sdk_r17-windows.zip」と「eclipse-java-indigo-SR2-win32.zip」をAndroidフォルダで解凍 6.SDKのインストール「SDK Manager.exe」をクリックし、Android SDKをインストール。 すべてにチェックを入れてInstallする 7.環境パスの設定「RapidEE」を起動し、以下の分をPathの中に追加する(Add Value)。 C \Android\android-sdk-windows\platform-tools(SDKのフォルダ名によってandroid-sdk-windowsは変更すること) C \Android\android-sdk-windows\tools(SDKのフォルダ名によってandroid-sdk-windowsは変更すること) C \Program Files\Java\jdk1.7.0_03\bin C \Program Files\Java\jre7\bin 8.Eclipseの起動1~7インストール後、Eclipseの[Help]→[Install Software...]をクリック ADDをクリックし、[Android Plugin] と [https //dl-ssl.google.com/android/eclipse/]を記述しNextを押していく 再起動されればOK 9.完了これで、Androidの環境開発完了 仮に、エミュレータを作成し、実行する。ここで、エミュレータのバージョンがすべてないときは[Windows]→[Preferences]→[Android]のSDL LocationをSDKを入れたフォルダに変更 10.環境セット[Windows]→[Preferences]→[General]→[Workspace]にて文字コードを[UTF-8]に変更すること